home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_400
/
409_01
/
vesavbe.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-10-21
|
4KB
|
80 lines
/****************************************************************************
*
* The SuperVGA Test Kit
*
* Copyright (C) 1993 SciTech Software.
* All rights reserved.
*
* Filename: $RCSfile: vesavbe.h $
* Version: $Revision: 1.1 $
*
* Language: ANSI C
* Environment: IBM PC (MS DOS)
*
* Description: Header file declaring the structures used to comminucate
* with a VESA VBE compliant BIOS.
*
* MUST be compiled in the large model.
*
* $Id: vesavbe.h 1.1 1993/10/22 08:59:44 kjb release $
*
****************************************************************************/
#ifndef __VESAVBE_H
#define __VESAVBE_H
#ifndef __DEBUG_H
#include "debug.h"
#endif
/*---------------------- Macros and type definitions ----------------------*/
/* SuperVGA information block */
typedef struct {
char VESASignature[4]; /* 'VESA' 4 byte signature */
short VESAVersion; /* VBE version number */
char *OEMStringPtr; /* Pointer to OEM string */
long Capabilities; /* Capabilities of video card */
short *VideoModePtr; /* Pointer to supported modes */
short TotalMemory; /* Number of 64kb memory blocks */
char reserved[236]; /* Pad to 256 byte block size */
} VgaInfoBlock;
/* SuperVGA mode information block */
typedef struct {
short ModeAttributes; /* Mode attributes */
char WinAAttributes; /* Window A attributes */
char WinBAttributes; /* Window B attributes */
short WinGranularity; /* Window granularity in k */
short WinSize; /* Window size in k */
short WinASegment; /* Window A segment */
short WinBSegment; /* Window B segment */
void *WinFuncPtr; /* Pointer to window function */
short BytesPerScanLine; /* Bytes per scanline */
short XResolution; /* Horizontal resolution */
short YResolution; /* Vertical resolution */
char XCharSize; /* Character cell width */
char YCharSize; /* Character cell height */
char NumberOfPlanes; /* Number of memory planes */
char BitsPerPixel; /* Bits per pixel */
char NumberOfBanks; /* Number of CGA style banks */
char MemoryModel; /* Memory model type */
char BankSize; /* Size of CGA style banks */
char NumberOfImagePages; /* Number of images pages */
char res1; /* Reserved */
char RedMaskSize; /* Size of direct color red mask */
char RedFieldPosition; /* Bit posn of lsb of red mask */
char GreenMaskSize; /* Size of direct color green mask */
char GreenFieldPosition; /* Bit posn of lsb of green mask */
char BlueMaskSize; /* Size of direct color blue mask */
char BlueFieldPosition; /* Bit posn of lsb of blue mask */
char RsvdMaskSize; /* Size of direct color res mask */
char RsvdFieldPosition; /* Bit posn of lsb of res mask */
char DirectColorModeInfo; /* Direct color mode attributes */
char res2[216]; /* Pad to 256 byte block size */
} ModeInfoBlock;
#endif /* __VESAVBE_H */